﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using Fiuba.Algo3.Titiritero.Vista;
using Fiuba.Algo3.Titiritero;
using LibreriaDeClases;

namespace BattleCity
{
    public class Canion : Arma
    {

        public Canion()
        {
            this.municiones = 15;
	        this.nombre = "Canion";
        }

	    public Canion(Point puntoSuperiorIzquierdo)
        {
            this.Figura = new Rectangulo(puntoSuperiorIzquierdo, 15, 15);
	        this.nombre = "Canion";
        }

        override protected Proyectil getProyectil(Point ubicacion, IDireccion direccion)
        {
            if (municiones >= 0)
                return new ProyectilCanion(ubicacion, direccion);
            else
                return null;
        }
        //queda afuera este numero aleatorio porque sino todos los tanques inicializados
        //en el mismo momento, disparan a la misma vez.
        //El juego arranca siempre de forma diferente
        private static Random r = new Random(DateTime.Now.Millisecond);

        override protected bool debeDisparar()
        {
            double aleatorio = r.NextDouble();
            if (aleatorio < 0.05) //Como tiene una velocidad de disparo media, tiene poca probabilidad de disparar
                return true;
            else return false;
        }

        virtual public void CargarMuniciones(Canion canion)
        {
            this.municiones += canion.municiones;
        }

    }
}
